package org.springblade.modules.admin.entity;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import java.util.HashMap;
import java.util.List;

import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;

/**
    * 工作项内容
    */
@Data
@EqualsAndHashCode(callSuper=true)
@TableName(value = "blade_maintain_template_content")
public class MaintainTemplateContent extends TenantEntity {
    /**
     * 工作项名称
     */
    @TableField(value = "`name`")
    private String name;

    /**
     * 工作项要求
     */
    @TableField(value = "`require`")
    private String require;

	/**
	 * 工作项要求图片
	 */
	@TableField(value = "require_img",typeHandler = JacksonTypeHandler.class)
	private List<HashMap<String,Object>> requireImg;

    /**
     * 位置分类id
     */
    @TableField(value = "location_type")
    private String locationType;

    /**
     * 位置分类名称
     */
    @TableField(value = "location_type_name")
    private String locationTypeName;

    /**
     * 工作项类型id
     */
    @TableField(value = "plan_type")
    private String planType;

    /**
     * 工作项类型名称
     */
    @TableField(value = "plan_type_name")
    private String planTypeName;

    /**
     * 记录数据
     */
    @TableField(value = "record_data",typeHandler = JacksonTypeHandler.class)
    private JSONObject recordData;

    /**
     * 年检类型id
     */
    @TableField(value = "as_type")
    private String asType;

    /**
     * 年检类型名称
     */
    @TableField(value = "as_type_name")
    private String asTypeName;

    /**
     * 适用梯型id
     */
    @TableField(value = "apply_elevator_type")
    private String applyElevatorType;

    /**
     * 适用梯型名称
     */
    @TableField(value = "apply_elevator_type_name")
    private String applyElevatorTypeName;

    /**
     * 工作项状态 1-正常 2-异常
     */
    @TableField(value = "`result`")
    private Integer result;

	/**
	 * 标准
	 */
	@TableField(value = "standard")
	private Integer standard;

	/**
	 * 排序
	 */
	@TableField(value = "sort")
	private Integer sort;

	/**
	 * 作业指引id集合
	 */
	@TableField(exist = false)
	private List<MaintainContentGuide> contentGuides;

	/**
	 *  关联组零件id 集合
	 */
	@TableField(exist = false)
	private List<Long> relationPartsIds;

	/**
	 * 2024-10-14 新增 关联部件-属性集合
	 */
	@TableField(exist = false)
	private List<MaintainPartsTemplateAttribute> relationParts;


	/**
	 * 工作性质 1-外观/清洁 2-功能/调整 3-润滑 4-测量
	 */
	@ApiModelProperty("工作性质")
	private Long nature;

	/**
	 * 是否参与评分 1-参与 2-不参与
	 */
	@TableField(value = "part_score")
	private Integer partScore;

	/**
	 * 工作性质id
	 */
	@TableField(exist = false)
	private MaintainTemplateContentScoreDimension scoreDimension;

}
